(function (mui, $) {
var _Data = {'tid':0, 'times':59};

mui.init();

function countdown () {
	clearInterval(_Data.tid);
	$('.btn-verify').addClass('mui-disabled');
	_Data.tid = setInterval(function () {
		if (--_Data.times <= 0) {
			clearInterval(_Data.tid);
			$('.btn-verify').text('获取验证码').removeClass('mui-disabled');
		} else {
			$('.btn-verify').text(_Data.times);	
		}
	}, 1000);
}

// 普通页面跳转
$('body').delegate('[data-url]', 'tap', function () {
	app.open($(this).attr('data-url'));
});

// 获取验证码
$('.btn-verify').on('tap', function () {
	countdown();
	$.ajax({
		'dataType' : 'json',
		'type'     : 'post',
		'url'      : app.url('App/Sms/Mobile/code'),
		'data'     : {'token':app.store('token'), 'mobile':$('[name=mobile]').val()}
	})
	.fail(function (res) {
		_Data.times = 0;
		app.log('获取验证码失败：', res);
		app.toast('获取验证码失败');
	})
	.done(function (res) {
		app.log('获取验证码：', res);
		if (300 == res.code) { plus.nativeUI.toast(res.msg);  _Data.times = 0; return; }
		if (200 != res.code) { plus.nativeUI.toast('请求失败'); _Data.times = 0; return; }
		if (res.msg) { plus.nativeUI.toast(res.msg); }
	})
	;
});

// 验证收手机号码是否存在
$('[name=mobile]').on('blur', function () {
	var dom = this;
	
	if (!/^1[3|4|5|6|7|8]\d{9}$/ig.test($('[name=mobile]').val())) { plus.nativeUI.toast('请输入正确的手机号'); return; }
	
	// 绑定第三方账号到系统中
	$.ajax({
		dataType : 'json',
		type     : 'post',
		url      : app.url('App/Sign/Index/checkMobile'),
		data     : {mobile:$('[name=mobile]').val()},
	})
	.fail(function (res) {
		app.log(res);
	})
	.done(function (res) {
		app.log(res);
		// 格式错误
		if (100 == res.code) { plus.nativeUI.toast(res.msg); return; }
		// 手机号在系统中
		if (200 == res.code) {
			$('.row-verify').removeClass('mui-hidden').addClass('mui-hidden');
			return;
		}
		// 手机号码不在系统中
		if (300 == res.code) { $('.row-verify').removeClass('mui-hidden'); return; }
		
	})
	;
});


// 第三方快捷注册
function doAuthRegister () {
	var dom = $('.btn-submit'), extras = plus.webview.currentWebview().extras;
	
	var data = {
        source_type : extras.source_type,
        open_id     : extras.open_id,
        
        mobile      : $('[name=mobile]').val(),
        mobile_code : $('[name=verify]').val(),
        password    : $('[name=password]').val(),
        invitation  : $('[name=invitation]').val(),
        
        username    : $('[name=username]').val(),
        nicname     : extras.tag.nickname,
        avatar      : '',
	};
	if (!data.mobile) { plus.nativeUI.toast('请输入手机号'); return; }
	if (!data.mobile_code) { plus.nativeUI.toast('请输入验证码'); return ;}
	//if (!data.username) { plus.nativeUI.toast('请输入用户名'); return; }
	if (!data.password) { plus.nativeUI.toast('请输入密码'); return; }
	
	// 绑定第三方账号到系统中
	$(dom).prop('disabled', true);
	$.ajax({
		dataType : 'json',
		type     : 'post',
		url      : app.url('App/Sign/Index/register'),
		data     : {'data':data},
	})
	.fail(function (res) {
		app.log(res);
		plus.nativeUI.closeWaiting();
		plus.nativeUI.toast('第三方快捷注册失败');
		$(dom).prop('disabled', false);
	})
	.done(function (res) {
		plus.nativeUI.closeWaiting();
		$(dom).prop('disabled', false);
		
		app.log('第三方快捷注册：', res);
		if (300 == res.code) { plus.nativeUI.toast(res.msg); return; }
		if (200 != res.code) { plus.nativeUI.toast('请求失败'); return; }
		if (res.msg) { plus.nativeUI.toast(res.msg); }
		
		// 当前第三方账号已在系统中存在
		app.store('token', res.data.uuid);
		app.store('member', res.data);
		plus.webview.getWebviewById('member.refresh('+JSON.stringify(res.data)+')');
		setTimeout(function () { plus.webview.currentWebview().close(); }, 500);
	})
	;
}

// 绑定第三方账号到系统中
function doAuthBind () {
	var dom = $('.btn-submit'), extras = plus.webview.currentWebview().extras;
	$(dom).prop('disabled', true);
	var data = {
        source_type : extras.source_type,
        open_id     : extras.open_id,
        
        sign        : $('[name=mobile]').val(),
        password    : $('[name=password]').val(),
	};
	if (!data.sign) { plus.nativeUI.toast('请输入手机号'); return; }
	if (!data.password) { plus.nativeUI.toast('请输入密码'); return; }
	
	app.log('提交绑定：'+JSON.stringify(data));
	$.ajax({
		'dataType' : 'json',
		'type'     : 'post',
		'url'      : app.url('App/Sign/Index/bind'),
		'data'     : {'data':data}
	})
	.fail(function (res) {
		app.log('提交绑定失败：' + JSON.stringify(res));
		app.toast('提交绑定失败');
		$(dom).prop('disabled', false);
	})
	.done(function (res) {
		$(dom).prop('disabled', false);
		
		app.log('绑定结果：', res);
		if (300 == res.code) { plus.nativeUI.toast(res.msg); return; }
		if (200 != res.code) { plus.nativeUI.toast('请求失败'); return; }
		if (res.msg) { plus.nativeUI.toast(res.msg); }
		
		app.store('token', res.token);
		app.store('member', res.data);
		plus.webview.getWebviewById('member.refresh('+JSON.stringify(res.data)+')');
		setTimeout(function () { plus.webview.currentWebview().close(); }, 500);
	})
	;
}

// 点击注册
$('.btn-submit').on('tap', function () {
	if ($('.row-verify').is(':visible')) {
		doAuthRegister();
	} else {
		doAuthBind();
	}
});

})(mui, $);
